home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / x / volume9 / rterm / patch1 next >
Encoding:
Text File  |  1990-08-27  |  20.6 KB  |  625 lines

  1. Path: uunet!zephyr.ens.tek.com!uw-beaver!mit-eddie!wuarchive!cs.utexas.edu!sun-barr!newstop!sun!turing.cs.rpi.edu
  2. From: tale@turing.cs.rpi.edu (David C Lawrence)
  3. Newsgroups: comp.sources.x
  4. Subject: v09i001: rterm, Patch1, Part01/01
  5. Message-ID: <141449@sun.Eng.Sun.COM>
  6. Date: 28 Aug 90 08:10:49 GMT
  7. Sender: news@sun.Eng.Sun.COM
  8. Lines: 614
  9. Approved: argv@sun.com
  10.  
  11. Submitted-by: tale@rpi.edu (David C Lawrence)
  12. Posting-number: Volume 9, Issue 1
  13. Archive-name: rterm/patch1
  14. Patch-To: Volume 8, Issue 74 (original: rterm 1.2)
  15.  
  16. The README update is the second diff.  I think there is a slight
  17. problem here which didn't occur to me until just now; Makefile.dist
  18. _was_ Makefile-dist.  Rename the latter to the former if you want to
  19. keep mine around without having xmkf or such trash it.  Except for the
  20. initial install stuff the other four targets should be interesting to
  21. most people; that's why I didn't add them in Imakefile too.
  22.  
  23. Dave
  24. -- 
  25.    (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))
  26.  The most remarkable thing about looking at a picture of myself was the sudden
  27.    realisation that my hair is in fact parted on the left and not the right.
  28.  
  29. *** Makefile.dist-dist    Fri Aug 17 05:18:12 1990
  30. --- Makefile.dist    Sun Aug 26 02:52:12 1990
  31. ***************
  32. *** 4,6 ****
  33. --- 4,21 ----
  34.       install -c -m 0755 rterm /usr/bin/X11/rterm
  35.       install -c -m 0444 RTerm.ad /usr/lib/X11/app-defaults/RTerm
  36.       install -c -m 0444 rterm.1 /usr/local/man/man1/rterm.1
  37. + shar:
  38. +     makekit -m -p
  39. + patch:
  40. +     rm -f Patch
  41. +     for file in *; do if test -f $$file-dist; then \
  42. +       diff -c $$file-dist $$file >> Patch ; \
  43. +     fi; done
  44. + clean:
  45. +     rm -f MANIFEST.BAK Part01 Patch *~
  46. + donedist:
  47. +     rm -f *-dist; chmod u-w *
  48. *** README-dist    Mon Aug 20 00:37:08 1990
  49. --- README    Sun Aug 26 02:31:20 1990
  50. ***************
  51. *** 57,62 ****
  52. --- 57,87 ----
  53.   shorter than anything imake could come up with it, though you might
  54.   need to make an edit or two to change the flags or paths.
  55.   
  56. + rterm version 1.3
  57. + Fixed a problem with -login and rsh pointed out by Marty Ryba
  58. + <marty@pulsar.princeton.edu>; simply put, trying to use rsh with a
  59. + specified login name didn't work.
  60. + rlogin is now behaving consistently with telnet; both will xhost the
  61. + hostname to which they are connecting and both will hack the TERM
  62. + environment variable; telnet used to do neither.
  63. + Speaking of hacking the TERM variable, you can now turn this off if
  64. + you want.  Use the -term switch or resource.  See the manual page.
  65. + A -debug switch was added so errors from the rshed processes can be
  66. + visible.
  67. + It doesn't play with DISPLAY directly anymore because this would
  68. + potentially turn "unix:0" to the hostname display for local xterms
  69. + (telnet and rlogin) which it didn't need to do.
  70. + Resources only work unded X11R4 because apparenly R3 and earlier did
  71. + not have appres.  rterm checks for appres in /usr/bin/X11 (see the
  72. + "xprogs" variable at the top of the script if you need to change it)
  73. + and effectively skips the whole resource attempt if it doesn't find it.
  74.                                    ----
  75.   
  76.   Comments, suggestions, whatever to David C Lawrence <tale@rpi.edu>.
  77. *** RTerm.ad-dist    Sun Aug 26 02:14:37 1990
  78. --- RTerm.ad    Sun Aug 26 02:15:07 1990
  79. ***************
  80. *** 1,2 ****
  81. --- 1,3 ----
  82.   RTerm*method: rlogin
  83.   RTerm*xpath: /usr/bin/X11
  84. + RTerm*term: xterm@display
  85. *** patchlevel.h-dist    Sun Aug 26 02:14:22 1990
  86. --- patchlevel.h    Sun Aug 26 02:15:40 1990
  87. ***************
  88. *** 3,6 ****
  89.    */
  90.   
  91.   #define VERSION 1
  92. ! #define PATCHLEVEL 2
  93. --- 3,6 ----
  94.    */
  95.   
  96.   #define VERSION 1
  97. ! #define PATCHLEVEL 3
  98. *** rterm-dist    Wed Aug 15 23:34:53 1990
  99. --- rterm    Sun Aug 26 02:14:14 1990
  100. ***************
  101. *** 7,16 ****
  102.   # be obtained from the FSF at 675 Massachusetts Ave, Cambridge MA 02139.
  103.   #
  104.   # modified to use RESOURCE_MANAGER on 13 Aug 90.
  105.   # renamed to rterm on 15 Aug 90.
  106.   #
  107. ! # telnet connexions are purposefully neither xhosted nor have the
  108. ! # $DISPLAY hack.  If you want it xhosted too use -xhost.
  109.   #
  110.   # /bin/csh is used on the remote end so rsh will exit; I am not a
  111.   # Unix wizard to know why this must be so.  (I prefer the Bourne
  112. --- 7,20 ----
  113.   # be obtained from the FSF at 675 Massachusetts Ave, Cambridge MA 02139.
  114.   #
  115.   # modified to use RESOURCE_MANAGER on 13 Aug 90.
  116. + #
  117.   # renamed to rterm on 15 Aug 90.
  118.   #
  119. ! # don't change DISPLAY; use display.  better for local hosts rlogin/telnet.
  120. ! # changed handling of -l switch; rsh $login didn't work on 19 Aug 90.
  121. ! #
  122. ! # Added -term and -debug; make telnet work like rlogin for term type
  123. ! # and xhost purposes on 26 Aug 90.
  124.   #
  125.   # /bin/csh is used on the remote end so rsh will exit; I am not a
  126.   # Unix wizard to know why this must be so.  (I prefer the Bourne
  127. ***************
  128. *** 31,37 ****
  129.   #
  130.   # Author: tale@turing.cs.rpi.edu (David C Lawrence)
  131.   
  132. ! PATH=/bin:/usr/bin:/usr/ucb:/usr/bin/X11
  133.   export PATH
  134.   
  135.   args=/tmp/rterm$$args
  136. --- 35,44 ----
  137.   #
  138.   # Author: tale@turing.cs.rpi.edu (David C Lawrence)
  139.   
  140. ! # where you X programmes are
  141. ! # This is used for xterm, xhost, appres (if you have it)
  142. ! xprogs=/usr/bin/X11
  143. ! PATH=/bin:/usr/bin:/usr/ucb:$xprogs
  144.   export PATH
  145.   
  146.   args=/tmp/rterm$$args
  147. ***************
  148. *** 43,51 ****
  149.   class=RTerm
  150.   
  151.   progname=`expr $0 : '.*/\(.*\)' \| $0`
  152. ! version="$progname version 1.2"
  153.   usage="Usage: $progname host [-rlogin | -telnet | -rsh] [-label NAME] [-login NAME] \
  154. !              [-xpath PATH] [-xhost HOST] [-h = -help] [-v = -version]"
  155.   
  156.   # I use cases; one less process to fork if test isn't a builtin.
  157.   # This thing already has enough processes associated with it.
  158. --- 50,59 ----
  159.   class=RTerm
  160.   
  161.   progname=`expr $0 : '.*/\(.*\)' \| $0`
  162. ! version="$progname version 1.3"
  163.   usage="Usage: $progname host [-rlogin | -telnet | -rsh] [-label NAME] [-login NAME] \
  164. !               [-xpath PATH] [-xhost HOST] [-term TERM[@display]] [-debug]     \
  165. !                 [-h = -help] [-v = -version]"
  166.   
  167.   # I use cases; one less process to fork if test isn't a builtin.
  168.   # This thing already has enough processes associated with it.
  169. ***************
  170. *** 69,84 ****
  171.   # get resource defaults
  172.   OIFS="$IFS"
  173.   IFS=":$IFS"
  174. ! appres $class | while read resource value; do
  175.     case $resource in
  176.       $class[.*]$lh[.*]method|$class[.*]$dh[.*]method)echo 'method="'$value'"' ;;
  177.       $class[.*]$lh[.*]label |$class[.*]$dh[.*]label) echo  'label="'$value'"' ;;
  178.       $class[.*]$lh[.*]xpath |$class[.*]$dh[.*]xpath) echo  'xpath="'$value'"' ;;
  179.       $class[.*]$lh[.*]login |$class[.*]$dh[.*]login) echo  'login="'$value'"' ;;
  180.       $class\*method)                      echo 'method="${method:-'$value'}"' ;;
  181.       $class\*xpath)                         echo 'xpath="${xpath:-'$value'}"' ;;
  182.       $class\*label)                         echo 'label="${label:-'$value'}"' ;;
  183.       $class\*login)                         echo 'login="${login:-'$value'}"' ;;
  184.       $class[.*]$lh[.*]xhost|$class[.*]$dh[.*]xhost|$class\*xhost)
  185.                                              echo xhosts=\"$xhosts $value\"    ;;
  186.       # args we don't know about are handed as resources to xterm
  187. --- 77,101 ----
  188.   # get resource defaults
  189.   OIFS="$IFS"
  190.   IFS=":$IFS"
  191. ! # See if we have X11R4 appres
  192. ! if test -x $xprogs/appres; then
  193. !   appres="appres $class"
  194. !  else 
  195. !   appres="cat < /dev/null"
  196. ! fi
  197. ! $appres | while read resource value; do
  198.     case $resource in
  199.       $class[.*]$lh[.*]method|$class[.*]$dh[.*]method)echo 'method="'$value'"' ;;
  200.       $class[.*]$lh[.*]label |$class[.*]$dh[.*]label) echo  'label="'$value'"' ;;
  201.       $class[.*]$lh[.*]xpath |$class[.*]$dh[.*]xpath) echo  'xpath="'$value'"' ;;
  202.       $class[.*]$lh[.*]login |$class[.*]$dh[.*]login) echo  'login="'$value'"' ;;
  203. +     $class[.*]$lh[.*]term  |$class[.*]$dh[.*]term)  echo   'term="'$value'"' ;;
  204.       $class\*method)                      echo 'method="${method:-'$value'}"' ;;
  205.       $class\*xpath)                         echo 'xpath="${xpath:-'$value'}"' ;;
  206.       $class\*label)                         echo 'label="${label:-'$value'}"' ;;
  207.       $class\*login)                         echo 'login="${login:-'$value'}"' ;;
  208. +     $class\*term)                          echo   'term="${term:-'$value'}"' ;;
  209.       $class[.*]$lh[.*]xhost|$class[.*]$dh[.*]xhost|$class\*xhost)
  210.                                              echo xhosts=\"$xhosts $value\"    ;;
  211.       # args we don't know about are handed as resources to xterm
  212. ***************
  213. *** 104,110 ****
  214.   # provide some reasonable defaults even in lieu of any in resources
  215.   # i hate when other programmes like XCalc don't do this.
  216.   method="${method:-rlogin}"
  217. ! xpath="${xpath:-/usr/bin/X11}"
  218.   
  219.   case "$hostname" in
  220.     -h | -help)
  221. --- 121,129 ----
  222.   # provide some reasonable defaults even in lieu of any in resources
  223.   # i hate when other programmes like XCalc don't do this.
  224.   method="${method:-rlogin}"
  225. ! xpath="${xpath:-$xprogs}"
  226. ! term="${term:-xterm@display}"
  227. ! debug=">&"
  228.   
  229.   case "$hostname" in
  230.     -h | -help)
  231. ***************
  232. *** 111,126 ****
  233.       cat <<EOT
  234.   $usage
  235.   
  236. - -rlogin:  xhost remote host, run xterm locally and rlogin to remote host.
  237.   -rsh:     xhost remote host, rsh to remote host and run xterm there.
  238. ! -telnet:  run xterm locally and telnet to remote host.
  239.   Default connexion method:  $method
  240.   
  241.   -label:   string for icon and title bar; defaults to first part of remote host.
  242.   -login:   login name on remote host for rsh and rlogin; defaults to local name.
  243. ! -xpath:   Directory of xterm on remote host for rsh; default: $xpath.
  244. ! -xhost:   Additional name to xhost; usually an alias for the remote machine.
  245.   
  246.   The following will also be recognised if the first argument.
  247.   -h or -help:    Print this message.
  248.   -v or -version: Print version.  This is $version.
  249. --- 130,148 ----
  250.       cat <<EOT
  251.   $usage
  252.   
  253.   -rsh:     xhost remote host, rsh to remote host and run xterm there.
  254. ! -rlogin:  xhost remote host, run xterm locally and rlogin to remote host.
  255. ! -telnet:  xhost remote host, run xterm locally and telnet to remote host.
  256.   Default connexion method:  $method
  257.   
  258.   -label:   string for icon and title bar; defaults to first part of remote host.
  259.   -login:   login name on remote host for rsh and rlogin; defaults to local name.
  260. ! -xpath:   directory of xterm on remote host for rsh; default: $xpath.
  261. ! -xhost:   additional name to xhost; usually an alias for the remote machine.
  262. ! -term:    terminal type for rlogin; default: $term.
  263.   
  264. + -debug:   show any error messages from rsh; this leaves extra processes around.
  265.   The following will also be recognised if the first argument.
  266.   -h or -help:    Print this message.
  267.   -v or -version: Print version.  This is $version.
  268. ***************
  269. *** 144,153 ****
  270.           $DISPLAY : ${localhostshort}: \| $DISPLAY : ${localhost}:` -ne 0; then
  271.     # seemingly on the server; do xhost
  272.     xhost=xhost
  273. !   # put hostname in DISPLAY; potentially loses if localhost = localhostshort
  274. !   DISPLAY=${localhost}:`expr $DISPLAY : '.*:\(.*\)'`
  275.    else
  276.     xhost=echo
  277.   fi
  278.   
  279.   while :; do
  280. --- 166,177 ----
  281.           $DISPLAY : ${localhostshort}: \| $DISPLAY : ${localhost}:` -ne 0; then
  282.     # seemingly on the server; do xhost
  283.     xhost=xhost
  284. !   # make sure hostname appears for remote hosts rather than unix or whatever;
  285. !   # potentially loses if localhost = localhostshort
  286. !   display=${localhost}:`expr $DISPLAY : '.*:\(.*\)'`
  287.    else
  288.     xhost=echo
  289. +   display=$DISPLAY
  290.   fi
  291.   
  292.   while :; do
  293. ***************
  294. *** 157,169 ****
  295.   
  296.     # obviously, the last arg for mutually exclusive args is the victor.
  297.     case "$1" in
  298. !     -rlogin)    method=rlogin                ;;
  299. !     -telnet)    method=telnet                ;;
  300. !     -rsh)    method=rsh                   ;;
  301. !     -label)    shift; label="$1"            ;;
  302. !     -login)    shift; login="-l $1"         ;;
  303. !     -xpath)     shift; xpath=$1              ;;
  304. !     -xhost)     shift; xhosts="$xhosts $1"   ;;
  305.       # pass the rest as arguments to xterm
  306.       *) echo -n "\\\"$1\\\" " >> $args
  307.     esac
  308. --- 181,193 ----
  309.   
  310.     # obviously, the last arg for mutually exclusive args is the victor.
  311.     case "$1" in
  312. !     -rlogin|-telnet|-rsh) method=`expr $1 : '-\(.*\)'` ;;
  313. !     -label)     shift;     label="$1"                  ;;
  314. !     -login)     shift;     login="$1"                  ;;
  315. !     -xpath)     shift;     xpath="$1"                  ;;
  316. !     -xhost)     shift;    xhosts="$xhosts $1"          ;;
  317. !     -term)      shift;      term="$1"                  ;;
  318. !     -debug)                debug=">"                   ;;
  319.       # pass the rest as arguments to xterm
  320.       *) echo -n "\\\"$1\\\" " >> $args
  321.     esac
  322. ***************
  323. *** 170,175 ****
  324. --- 194,202 ----
  325.     shift
  326.   done
  327.   
  328. + # Make an arg for rsh/rlogin if we need to use a login name
  329. + login=${login:+"-l $login"}
  330.   case $method in
  331.     rsh)
  332.       # This is wickedly ugly to the point of perversity.  I ended up using
  333. ***************
  334. *** 181,203 ****
  335.       # necessary.
  336.       $xhost $xhosts $hostname > /dev/null
  337.       command="\"$xpath/xterm -n \\\"$label\\\" -T \\\"$label\\\" \
  338. !       -display $DISPLAY -ls `cat $args` \& \""
  339.       $cleanup
  340. !     exec rsh $hostname ${login:+"-l $login"} -n \
  341.         echo \"$command\" \> '/tmp/rterm$$' \; \
  342.         /bin/csh -cf "\"\`cat /tmp/rterm\$\$\` ; \
  343. !          rm /tmp/rterm\$\$ \" < /dev/null >& /dev/null" ;;
  344. !   rlogin)
  345.       $xhost $xhosts $hostname > /dev/null
  346.       command="xterm -n \"$label\" -T \"$label\" `eval echo \`cat $args\`` -e 
  347.                sh -c 'export TERM; 
  348. !              TERM=xterm@$DISPLAY exec rlogin $hostname ${login:+-l $login}'" 
  349. !     eval exec $command & ;;
  350. !   telnet)
  351. !     $xhost $xhosts > /dev/null
  352. !     command="xterm -n \"$label\" -T \"$label\" `eval echo \`cat $args\`` -e
  353. !              telnet $hostname"
  354.       eval exec $command & ;;
  355.     *)
  356.       echo $progname: bogus method: $method 1>&2 ; exit 1 ;;
  357.   esac
  358. --- 208,234 ----
  359.       # necessary.
  360.       $xhost $xhosts $hostname > /dev/null
  361.       command="\"$xpath/xterm -n \\\"$label\\\" -T \\\"$label\\\" \
  362. !       -display $display -ls `cat $args` \& \""
  363.       $cleanup
  364. !     exec rsh $hostname $login -n \
  365.         echo \"$command\" \> '/tmp/rterm$$' \; \
  366.         /bin/csh -cf "\"\`cat /tmp/rterm\$\$\` ; \
  367. !          rm /tmp/rterm\$\$ \" < /dev/null $debug /dev/null" ;;
  368. !   rlogin|telnet)
  369. !     type="`expr $term : '\(.*\)@'`"
  370. !     if test "$type" = ""; then
  371. !       type="$term"
  372. !      else
  373. !       type="$type@$display"
  374. !     fi
  375.       $xhost $xhosts $hostname > /dev/null
  376.       command="xterm -n \"$label\" -T \"$label\" `eval echo \`cat $args\`` -e 
  377.                sh -c 'export TERM; 
  378. !              TERM=$type exec $method $hostname $login'" 
  379.       eval exec $command & ;;
  380.     *)
  381.       echo $progname: bogus method: $method 1>&2 ; exit 1 ;;
  382.   esac
  383. *** rterm.1-dist    Sun Aug 26 01:41:36 1990
  384. --- rterm.1    Sun Aug 26 02:37:10 1990
  385. ***************
  386. *** 15,23 ****
  387.   .ta 8n
  388.   \fBrterm\fP \fIhost\fP [-rlogin | -telnet | -rsh] [-label \fIname\fP]
  389.   .br
  390. ! [-login \fIname\fP] [-xpath \fIpath\fP] [-xhost \fIhost\fP] [-h = -help]
  391.   .br
  392. ! [-v = -version]
  393.   .SH DESCRIPTION
  394.   The
  395.   .I rterm
  396. --- 15,23 ----
  397.   .ta 8n
  398.   \fBrterm\fP \fIhost\fP [-rlogin | -telnet | -rsh] [-label \fIname\fP]
  399.   .br
  400. ! [-login \fIname\fP] [-xpath \fIpath\fP] [-xhost \fIhost\fP]
  401.   .br
  402. ! [-term \fIterm\fP[@display]] [-debug] [-h = -help] [-v = -version]
  403.   .SH DESCRIPTION
  404.   The
  405.   .I rterm
  406. ***************
  407. *** 42,72 ****
  408.   These options follow the host argument to
  409.   .I rterm.
  410.   .TP 8
  411. - .B \-rlogin
  412. - Use
  413. - .BR rlogin(1)
  414. - to contact the remote host from a local
  415. - .I xterm.
  416. - The host will be added to your access control list by
  417. - .I xhost
  418. - if
  419. - .I rterm
  420. - is run on the server machine.
  421. - Your
  422. - .B DISPLAY
  423. - environment variable is piggy-backed to the remote host on the
  424. - .B TERM
  425. - environment variable.  See
  426. - .B EXAMPLES
  427. - below for how you can interpret it.
  428. - .TP 8
  429.   .B \-rsh
  430.   Use 
  431.   .BR rsh(1)
  432.   to establish the connexion to the remote host on which
  433.   .I xterm
  434. ! is run.  The remote machine is added as with
  435. ! .B \-rlogin.
  436.   .TP 8
  437.   .B \-telnet
  438.   Use
  439. --- 42,59 ----
  440.   These options follow the host argument to
  441.   .I rterm.
  442.   .TP 8
  443.   .B \-rsh
  444.   Use 
  445.   .BR rsh(1)
  446.   to establish the connexion to the remote host on which
  447.   .I xterm
  448. ! is run.
  449. ! .TP 8
  450. ! .B \-rlogin
  451. ! Use
  452. ! .BR rlogin(1)
  453. ! to contact the remote host from a local
  454. ! .I xterm.
  455.   .TP 8
  456.   .B \-telnet
  457.   Use
  458. ***************
  459. *** 73,80 ****
  460.   .BR telnet(1)
  461.   to contact the remote host from a local
  462.   .I xterm.
  463. - The remote machine is not automatically added to your access control list.
  464.   .LP
  465.   A default connexion method is provided; which one is left to your local
  466.   administrator's discretion.  The above methods are of course mutually
  467.   exclusive. 
  468. --- 60,72 ----
  469.   .BR telnet(1)
  470.   to contact the remote host from a local
  471.   .I xterm.
  472.   .LP
  473. + The machine named in the host argument will be added to your access
  474. + control list by
  475. + .I xhost
  476. + if
  477. + .I rterm
  478. + is run on the server machine.
  479.   A default connexion method is provided; which one is left to your local
  480.   administrator's discretion.  The above methods are of course mutually
  481.   exclusive. 
  482. ***************
  483. *** 103,108 ****
  484. --- 95,120 ----
  485.   .I rterm
  486.   on the server.  This is especially useful if the remote machine enjoys
  487.   a bit of schizophrenia and frequently goes by two names.
  488. + .TP 8
  489. + .B \-term \fIterm\fP
  490. + The terminal type to use on the remote machine.  This is available so
  491. + you have the possibility to pass the DISPLAY environment variable as
  492. + part of the TERM variable; see
  493. + .B EXAMPLES
  494. + below for a way to do this.  The \fIterm\fP argument is used as given
  495. + if it has no '@' in it.  If an '@' is present than everything before
  496. + it is kept and everything after it is replaced with the display name.
  497. + The default value as shipped is \fIxterm@display\fP
  498. + .TP 8
  499. + .B \-debug
  500. + This option is provided for use with
  501. + .B \-rsh
  502. + which has the side affect of closing its standard error so error
  503. + messages from the remote machine are lost.  When
  504. + .B \-debug
  505. + is given then any errors encountered while attempting to start
  506. + .I xterm
  507. + will be visible at the cost of keeping extra processes for the session.
  508.   .LP
  509.   Remaining arguments are passed to
  510.   .I xterm.
  511. ***************
  512. *** 159,164 ****
  513. --- 171,178 ----
  514.   .I rterm
  515.   is run from the server machine.  Multiple hosts can appear on a single
  516.   resource line.
  517. + .IP \fBRTerm[.HOST]*term\fP
  518. + The terminal type to use for \fIrlogin\fP or \fItelnet\fP connexions.
  519.   .SH EXAMPLES
  520.   A sample menu from \fI.twmrc\fP:
  521.   .EX 0
  522. ***************
  523. *** 201,212 ****
  524.   backslashes are necessary.
  525.   .LP
  526.   The
  527. - .B \-rlogin
  528. - option sets the environment variable
  529. - .B TERM
  530. - to a form which looks like
  531.   .B TERM@DISPLAY
  532. ! before making the connexion.  This can be interpreted during the login
  533.   procedure at the remote host to correctly seperate the
  534.   .B TERM
  535.   and
  536. --- 215,224 ----
  537.   backslashes are necessary.
  538.   .LP
  539.   The
  540.   .B TERM@DISPLAY
  541. ! form described for 
  542. ! .B \-term
  543. ! can be interpreted during the login
  544.   procedure at the remote host to correctly seperate the
  545.   .B TERM
  546.   and
  547. ***************
  548. *** 261,273 ****
  549.   and moans that it is an unknown terminal type
  550.   long before any user login file processing.
  551.   .LP
  552. - In order to facilitate getting the
  553. - .B rsh
  554. - process to vanish the standard file descriptors are directed to
  555. - \fI/dev/null\fP.  This causes any errors from the remote shell or
  556. - .B xterm
  557. - to be lost.
  558. - .LP
  559.   Multiple machine names for the server could potentially make
  560.   .I rterm
  561.   think it isn't running on the server when it is; this can be prevented
  562. --- 273,278 ----
  563. ***************
  564. *** 323,335 ****
  565.   .SH DIAGNOSTICS
  566.   .I rterm
  567.   doesn't have much to say since it figures any arguments it doesn't
  568. ! recognise are meant for xterm.  It will print a usage message if no
  569. ! arguments are given and it doesn't redirect the stderr of xhost.
  570. ! See
  571. ! .B BUGS
  572. ! above for the problem with rsh and the error of xterm.  Some
  573. ! diagnostics, like one indicating a bad hostname,  generated by other
  574. ! programmes, might not be seen because the window will disappear before
  575.   the error message can be read in it.
  576.   .TP 4
  577.   "Permission denied."
  578. --- 328,340 ----
  579.   .SH DIAGNOSTICS
  580.   .I rterm
  581.   doesn't have much to say since it figures any arguments it doesn't
  582. ! recognise are meant for
  583. ! .I xterm.
  584. ! It will print a usage message if no
  585. ! arguments are given and it doesn't redirect the stderr of
  586. ! .I xhost.
  587. ! Some diagnostics, like rlogin indicating a bad hostname, might not be
  588. ! seen because the window will disappear before 
  589.   the error message can be read in it.
  590.   .TP 4
  591.   "Permission denied."
  592. ***************
  593. *** 341,348 ****
  594.   .SH TODO
  595.   These things might be implemented if anyone expresses a desire for
  596.   them; send mail to the author.
  597. - .IP \-
  598. - a way to turn off the DISPLAY piggy-backing on TERM.
  599.   .IP \-
  600.   an RTerm.HOST.alias resource which could point to  the real name
  601.   of a machine; resources should then be able to be read using  either
  602. --- 346,351 ----
  603.  
  604. dan
  605. ----------------------------------------------------
  606. O'Reilly && Associates   argv@sun.com / argv@ora.com
  607. Opinions expressed reflect those of the author only.
  608.